Inventory Plugins
Inventory Plugins help Nornir to retrieve hosts’ inventory data from various sources. Reference documentation for more information.
DictInventory plugin
DictInventory is an inventory plugin that loads data from Python dictionaries.
DictInventory sample usage
Need to instruct Nornir to use DictInventory plugin on instantiation:
import yaml
from nornir import InitNornir
inventory_data = '''
hosts:
R1:
hostname: 192.168.1.151
platform: ios
groups: [lab]
R2:
hostname: 192.168.1.153
platform: ios
groups: [lab]
R3:
hostname: 192.168.1.154
platform: ios
groups: [lab]
groups:
lab:
username: cisco
password: cisco
'''
inventory_dict = yaml.safe_load(inventory_data)
NornirObj = InitNornir(
inventory={
"plugin": "DictInventory",
"options": {
"hosts": inventory_dict["hosts"],
"groups": inventory_dict["groups"],
"defaults": inventory_dict.get("defaults", {})
}
}
)
DictInventory reference
- class nornir_salt.plugins.inventory.DictInventory.DictInventory(hosts: Optional[Dict] = None, groups: Optional[Dict] = None, defaults: Optional[Dict] = None)
DictInventory class to instantiate inventory plugin from.
- Parameters
hosts – dictionary with hosts data
groups – dictionary with groups data
defaults – dictionary with defaults data